iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
自我挑戰組

新手的JavaScript扎根之路系列 第 17

Day17 全域變數vs區域變數

  • 分享至 

  • xImage
  •  

嗨嗨!我是Winnie溫尼~/images/emoticon/emoticon08.gif

前言

在JavaScript中的變數區分為兩種:全域範疇(Global scope)、區域範疇(Local scope),而簡單來說,我們可以使用前兩個章節介紹的函式來做為一個分類的標準,分別為全域變數、區域變數

全域變數

在函式外即為全域範疇(Global scope),而在這裡宣告的變數稱為全域變數,可供所有程式碼(函式內、外皆可)呼叫使用

let game = 0; //宣告變數,為全域變數
//宣告函式
function add(num) {
  game += 1;
}

//執行函式
add(3); //執行第一次 game=1
add(6); //執行第二次 game=2
add(8); //執行第三次 game=3
console.log(game); //3

區域變數

反之,在函式內即為區域範疇(Local scope),而在這裡宣告的變數稱為區域變數,僅供函式內呼叫使用,而且區域變數會在執行完後自動銷毀,並不會留存於函式之內。

//宣告函式
function add(num) {
  let game = 0; //宣告變數,為區域變數
  game += 1;
  console.log(game); //3
}

//執行函式
add(3); //執行第一次 game=0+1,game=1
add(6); //執行第二次 game在函式內被宣告為0,再+1所以game=0+1,game = 1
add(8); //執行第三次 game在函式內被宣告為0,再+1所以game=0+1,game = 1

參考資料

初探JavaScript - JS全域變數與區域變數
JS 筆記 - 全域變數與區域變數

新手上路,如文章有錯誤或需修正之處,懇請大家多多指教!
那麼,我們明天見囉~/images/emoticon/emoticon29.gif


上一篇
Day16 函式應用
下一篇
Day18 什麼是DOM?
系列文
新手的JavaScript扎根之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言